/*
 * Copyright 2009 Brook Smith brook.smith@paradise.net.nz.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package org.javagenerate.generator.script.gen;

import java.util.ArrayList;

import org.javagenerate.generator.Parameter;
import org.javagenerate.generator.script.ClassDef;
import org.javagenerate.generator.script.GenBeanDefinition;

public class JdoDaoDef extends ClassDef {

	private JDODef jdoDef = null;
	private DTOHelperDef dtoHelperDef = null;
	private ClassDef interfaceDef = null;

	public JdoDaoDef(String classname, String patternName) {
		super(classname, patternName);
		addSingelton(getClassName(), new ArrayList<Parameter>());
	}

	@Override
	public void addBeanDefiniation(GenBeanDefinition beanDefinition) {
		// ignore for now
	}

	public DTOHelperDef getDtoHelperDef() {
		return dtoHelperDef;
	}

	public ClassDef getInterfaceDef() {
		return interfaceDef;
	}

	public JDODef getJdoDef() {
		return jdoDef;
	}

	@Override
	public void preWrite() {
		super.preWrite();
	}

	public void setDtoHelperDef(DTOHelperDef dtoHelperDef) {
		this.dtoHelperDef = dtoHelperDef;

		getImports().add(dtoHelperDef.getPackageName() + "." + dtoHelperDef.getClassName());
	}

	public void setInterfaceDef(ClassDef interfaceDef) {
		this.interfaceDef = interfaceDef;

		getImports().add(interfaceDef.getPackageName() + "." + interfaceDef.getClassName());

	}

	public void setJdoDef(JDODef jdoDef) {
		this.jdoDef = jdoDef;

		getImports().add(jdoDef.getPackageName() + "." + jdoDef.getClassName());
	}

}
